hpe microserver gen8光驱位启动freebsd

Table of Contents

这是hpe gen8这台机器比较头疼的一个问题,当四盘位都作为数据盘,光驱位做系统盘之后就没法自动引导启动了。它本身只能通过四盘位中的一个盘作为引导,也就是说四块盘里一定要有一块盘做系统分区。

我在gen8上装了freebsd本身是要用zfs做一个16TB的磁盘阵列,光驱位不能引导的问题导致我的阵列要少一个盘位。还好在网络上找了些资料,发现可以用usb引导的方式来解决。整个流程就是制作grub的iso然后刷到U盘上,然后启动freebsd上的引导程序进行整个链式加载。

grub构建生成

先构建一个用来生成grub iso的目录

$ mkdir iso
$ mkdir -p iso/boot/grub
$ vim iso/boot/grub/grub.cfg

grub.cfg

grub配置中通过timeout使其在3s后,自动帮你选择一个选项,这样就不可以不用手动选择。我的光驱位在hd5上面,就设置set root= (hd5,gpt2),然后用kfreebsd加载执行freebsd的引导程序就可以了。

set timeout=3
menuentry "FreeBSD" {
  insmod ufs2
  set root= (hd5,gpt2)
  kfreebsd /boot/loader
}

然后用dd写入到usb中 作为usb grub启动

$ grub-mkrescue -o grub.iso iso
$ sudo dd bs=4M if=/path/to/grub.iso of=/dev/sdX status=progress oflag=sync

通过grub-mkrescue会生成一个grub的引导镜像,然后dd刷入U盘,再将U盘插入到gen8的机器,并在bios中设置优先U盘启动就完成整个过程了。

参考